__author__ = 'Lydia'

class listaProducto:
    """Clase dedicada a almacenar los productos que vendemos a cada cliente"""
    def __init__(self,nBocadillos,nRefrescos,nCervezas):
        """

        :param nBocadillos: variable de instancia, le indicamos el numero de bocadillos.
        :param nRefrescos:
        :param nCervezas:
        :return:
        """
        self.__nBocadillos=nBocadillos
        self.__nRefrescos=nRefrescos
        self.__nCervezas=nCervezas
        self.__pBocadillos=1.50
        self.__pRefrescos=1.20
        self.__pCervezas=1.00
        self.__total=0

    def getnBocadillos(self):
        """Nos muestra el numero de bocadillos que nos ha pedido el cliente"""
        return self.__nBocadillos
    def settBocadillos(self,tBocadillos):
        """Sirve para introducir la cantidad de bocadillos que nos piden"""
        self.__nBocadillos=tBocadillos

    def getnRefrescos(self):
        """Nos muestra el numero de refrescos que nos ha pedido el cliente"""
        return self.__nRefrescos
    def settRefrescos(self,tRefrescos):
        """Sirve para introducir la cantidad de referescos que nos piden"""
        self.__nRefrescos=tRefrescos

    def getnCervezas(self,):
        """Nos muestra el numero de cervezas que nos ha pedido el cliente"""
        return self.__nCervezas
    def settCervezas(self,tCervezas):
        """Sirve para introducir la cantidad de cervezas que nos piden"""
        self.__nCervezas=tCervezas

    def setPrecioBocadillo(self,pBocadillos,pRefrescos,pCervezas):
        """
        :param pBocadillos: Precio de los bocadillos, Entero > 0
        :param pRefrescos: Precio de los refrescos, Entero > 0
        :param pCervezas: Precio de las cervezas, Entero > 0
        :return: None
        """
        self.__pBocadillos=pBocadillos
        self.__pRefrescos=pRefrescos
        self.__pCervezas=pCervezas

    def getTotal(self):
        """Devuelve el total de los productos vendidos"""

        self.__total=(self.__nBocadillos * self.__pBocadillos +
                      self.__nRefrescos * self.__pRefrescos +
                      self.__nCervezas * self.__pCervezas)

        return self.__total

    def __add__(self, other):
        """Devuelve el total a pagar de la compra"""
        return listaProducto(self.getnBocadillos() + other.getnBocadillos(),
                             self.getnRefrescos() + other.getnRefrescos(),
                             self.getnCervezas() + other.getnCervezas())


